1、故障现象
使用新增的mysql账号连接时报以下错误:
Warning: Using a password on the command line interface can be insecure.
ERROR 2003 (HY000): Can't connect to MySQL server on '10.1.105.12'
2、测试能否ping通10.1.105.12
既然能ping通,那表面网络连通性没问题,下面telnet测试3306端口是否正常
telnet 10.1.105.12 3306
Trying 10.1.105.12...
telnet: connect to address 10.1.105.12: Connection refused
3、发现端口不通,查看3306端口状态
netstat -nalp | grep 3306
tcp 0 0 127.0.0.1:41758 127.0.0.1:3306 TIME_WAIT -
tcp6 0 0 :::3306 :::* LISTEN 6961/mysqld
但是本地应用使用127.0.0.1可以连接数据库,
排查后发现MySQL有一个参数,可以限制 IP连接,就是 bind-address
【bind-address 是MYSQL用来监听某个单独的TCP/IP连接,只能绑定一个IP地址,被绑定的IP地址可以映射多个网络接口. 可以是IPv4,IPv6或是主机名,但需要在MYSQL启动的时候指定(主机名在服务启动的时候解析成IP地址进行绑定). 默认是"*"】
查看 my.cnf 配置
bind-address = 127.0.0.1
注释了之后,重启MySQL。新增的mysql账号连接正常 。